#ifndef FILE_NODE
#define FILE_NODE
#include <Define.h>
#include <osg/MatrixTransform>

class OSG_EDITOR_DLL FileNode : public osg::MatrixTransform
{
public:
    FileNode(const std::string& file_path);
    FileNode(const FileNode &file_node, const osg::CopyOp &copyop=osg::CopyOp::SHALLOW_COPY);
    virtual ~FileNode();

    void changeFilePath(const std::string& file_path);
    //void setFileName(const std::string& fileName);
    void saveToFile(const std::string& fileName);
    std::string getFileName();

    virtual osg::Object * cloneType () const;
    virtual osg::Object * clone (const osg::CopyOp &copyop) const;
private:
    osg::ref_ptr<osg::Node> m_fileNode;
    std::string m_fileName;
};



#endif //FILE_NODE
